package utils

import (
	"encoding/xml"
	"fmt"
)

// GenXML 将任意类型的消息包装为XML格式的字符串。
// 参数:
//
//	msgPkg any - 任意类型的消息，将被转换为XML格式。
//
// 返回值:
//
//	string - 表示消息的XML字符串。
func GenXML(msgPkg any) string {
	// 使用xml.MarshalIndent将msgPkg转换为格式化的XML数据
	xmlData, err := xml.MarshalIndent(&msgPkg, "", "    ")
	if err != nil {
		// 如果转换过程中出现错误，打印错误信息并返回空字符串
		fmt.Printf("Error marshaling XML: %v\n", err)
		return ""
	}

	// 返回格式化的XML数据作为字符串
	return string(xmlData)
}
